﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ServiceModel;
using GSLMS.Entity;
namespace GSLMS.Services.Interface
{
	/// <summary>
	/// 接口说明:TB_APP_PROINFO接口
	/// </summary>
	[ServiceContract(Name = "IAPP_PROINFO", Namespace = "http://www.gslms.com/")]
	public interface IAPP_PROINFO : IBase<TB_APP_PROINFO>
	{
         /// <summary>
        ///通过申请记录ID，提取立项申请中共有的信息，用于转立项申请功能
        /// </summary>
        /// <param name="regInfoID">申请登记记录ID</param>
        /// <returns></returns>
        [OperationContract]
        GSLMS.Entity.TB_APP_PROINFO GetByRegInfoID(long regInfoID);

        /// <summary>
        /// 通过立项申请记录ID，提取提交页面所需的信息，用于提交页面
        /// </summary>
        /// <param name="proInfoID">立项申请记录ID</param>
        /// <returns></returns>
        [OperationContract]
        GSLMS.Entity.TB_APP_PROINFO GetSubmiShow(long proInfoID);

        /// <summary>
        /// 提交立项申请,实体中传入ID及submitby
        /// </summary>
        /// <param name="TB_APP_PROINFO">立项申请对象</param>
        /// <returns></returns>
        [OperationContract]
        bool SubmitPro(GSLMS.Entity.TB_APP_PROINFO model);


        /// <summary>
        /// 取消立项申请,实体中传入ID及cancelBy、cancelreason
        /// </summary>
        /// <param name="TB_APP_PROINFO">立项申请对象</param>
        /// <returns></returns>
        [OperationContract]
        bool CancelPro(GSLMS.Entity.TB_APP_PROINFO model);

        ///// <summary>
        ///// 获取赎楼申请信息
        ///// </summary>
        ///// <param name="proInfoID"></param>
        ///// <returns></returns>
        //[OperationContract]
        //TB_APP_PROINFO GetByHou(long proInfoID);

        ///// <summary>
        ///// 获取非赎楼申请信息
        ///// </summary>
        ///// <param name="proInfoID"></param>
        ///// <returns></returns>
        //[OperationContract]
        //TB_APP_PROINFO GetByUnHou(long proInfoID);

        /// <summary>
        /// 提取非赎楼信息的调查报告信息
        /// </summary>
        /// <param name="proID">立项申请记录ID</param>
        /// <returns></returns>
        [OperationContract]
        GSLMS.Entity.TB_APP_PROINFO GetProReportInfo(long proID);

        /// <summary>
        /// 新增调查报告信息
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        [OperationContract]
        bool AddProReportInfo(GSLMS.Entity.TB_APP_PROINFO model);

        /// <summary>
        /// 分页提取风控分配数据
        /// </summary>
        [OperationContract]
        List<GSLMS.Entity.TB_APP_PROINFO> GetAduAssignList(GSLMS.Entity.TB_APP_PROINFO searchParam);

        /// <summary>
		/// 得到一个风控分配的实体
		/// </summary>
         [OperationContract]
        GSLMS.Entity.TB_APP_PROINFO GetAduAssignByID(long ID);

        /// <summary>
        /// 分页提取风控审批数据
        /// </summary>
        [OperationContract]
        List<GSLMS.Entity.TB_APP_PROINFO> GetAduRiskList(GSLMS.Entity.TB_APP_PROINFO searchParam);

        /// <summary>
        /// 提取非赎楼信息的风控调查报告信息
        /// </summary>
        /// <param name="proID">立项申请记录ID</param>
        /// <returns></returns>
        [OperationContract]
        GSLMS.Entity.TB_APP_PROINFO GetProRiskControlReportInfo(long proID);

        /// <summary>
        /// 新增风控审批信息
        /// </summary>
        /// <param name="?"></param>
        /// <returns></returns>
        [OperationContract]
        bool AddProRiskControlReportInfo(GSLMS.Entity.TB_APP_PROINFO model);

        /// <summary>
        /// 审批退回
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
         [OperationContract]
         bool AduitBackTo(GSLMS.Entity.TB_APP_PROINFO model);

	}
}
